Communications connectivity is quickly becoming an important issue given the increasing reliance by companies and individuals alike on networks for conducting business, for example. The widespread proliferation of computing devices (e.g., desktop and portable computers, cell phones, . . . ) in use today for communications purposes means that networks now, more than ever, need to be reliable not only for customer satisfaction reasons, but also for the reliable communication of information. In other words, connectivity should be transparent to the user or the system. Nothing can effect consumer satisfaction or business viability more than connectivity failures. The loss of data and frustration by users related to connectivity can quickly affect the bottom-line of a company. Moreover, in back-end systems, for example, lack of reliable connectivity frustrates the timely communication of information needed by other systems.
Unfortunately, existing mechanisms lack timely response to connection interruption or failure. Typically, conventional network services operate to report connection failures after it is too late to react or recover, thereby dropping the connection and frustrating the user or other connection entities, and introducing unnecessary network traffic that in many instances could bring down a node (e.g., a website). In other words, existing mechanisms are unable to report realtime health assessment of a network (e.g., the Internet) to the users or systems that are meaningful to their daily tasks such as web browsing, conferencing, etc. For example, if connection failure was determined in a more timely manner (e.g., realtime), then useful diagnostics could be employed by the users and/or systems for determining where the problem might be (e.g., local Internet service provide (ISP)) network or the network backbone.
Additionally, because of this lack of realtime support for determining connectivity, the impact on system applications can be dramatic. Applications that rely on this connectivity information such as update programs and anti-virus programs need connectivity information to be readily and reliably available so as to not unnecessarily expend processing time and inject packets into an already failed connection. This problem becomes particularly burdensome in network systems (e.g., enterprise) that employ proxy servers as an interface to other networks. For example, a client communicates to the proxy, and then the proxy communicates to a website on behalf of the client. Should the website be offline, this is not known by the client, and the client can continue to send packets to the proxy, thereby potentially bring down the proxy, where a large number of clients are using the proxy. Moreover, using active connectivity detection methods introduces packets into the network that can further burden the network.